package com.deer.wms.ware.task.service;


import com.deer.wms.intercept.common.data.CurrentUser;
import com.deer.wms.inventory.model.Inventory.InventoryDto;
import com.deer.wms.inventory.model.Inventory.InventoryTransact;
import com.deer.wms.project.root.service.SuperService;
import com.deer.wms.ware.task.model.out.OutDetail;
import com.deer.wms.ware.task.model.out.OutMaster;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 发运单detail 服务类
 * </p>
 *
 * @author luowei
 * @since 2022-04-19 09:07:42
 */
public interface OutDetailService extends SuperService<OutDetail> {

    /**
     * 生成库存事务
     * @param outMaster 出库单
     * @param currentUser 当前用户
     * @return InventoryTransact
     */
    List<InventoryTransact> toStockRequest(OutMaster outMaster, CurrentUser currentUser);

    /**
     * 获取分组的出库单明细  按出库任务ID 批次分组
     * @param billNo 出库单号
     * @return List<OutDetail>
     */
    List<OutDetail> detailGroupList(String billNo);

    /**
     * 出库单明细导出方法
     * @param  response     查询条件
     * @since  1.0
     * @deprecated
     */
    void exportExcel(HttpServletResponse response, String billNo) throws Exception;

    List<InventoryDto> inventoriesForOut(String boxCode);

}
